#include <stdio.h>
#include <unistd.h> // fork

// 练习3：创建一个子进程，子进程打印helo后父进程打印world,之后父进程再创建两条进程，一个进程打印end,另外一个进程打印...
int main()
{
    printf("main process\n");

    pid_t pid1 = fork();
    if (pid1 == -1)
    {
        printf("创建进程失败\n");
    }
    if (pid1 > 0)
    {
        sleep(1);
        printf("这个是父进程\n");
        printf("world\n");
        pid_t pid2 = fork();
        if (pid2 == 0)
        {
            printf("这个是第二个子进程\n");
            printf("end\n");
        }
        if (pid2 > 0)
        {
            sleep(1);
            printf("这个是父进程\n");
            printf("...\n");
        }
        
    }
    if (pid1 == 0)
    {
        printf("这个是第一个子进程\n");
        printf("hello\n");
    }

    return 0;
}
